import axios from 'axios'
import store from '../store'

/* axios库 -- 基于xhr和Promise封装一个库、可以实现请求拦截 */
let ajax = axios.create({
    baseURL: '/api'
})

/* use(onFulfilled?: (value: InternalAxiosRequestConfig) => InternalAxiosRequestConfig | Promise ) */
/* use方法接收一个函数参数，函数会有一个入参value(RequestConfig)，要求返回一个RequestConfig | Promise */
/* 这个拦截器只有在发送请求的时候才会被执行 */
/* 调用get方法之后触发拦截，如果拦截器返回config对象，那么执行new xhr，然后发送请求，否则不发送请求 */
ajax.interceptors.request.use(
    function(config) {
        config.headers.token = store.getters['common/token']
        return config
        // return Promise.reject({code: 1, message: '不发送请求'})
    }
)

export default ajax